Don't leak the secondary dialogs. (#155084, Paolo Borelli)
authorMatthias Clasen <mclasen@redhat.com>
Sat, 16 Oct 2004 05:10:55 +0000 (05:10 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Sat, 16 Oct 2004 05:10:55 +0000 (05:10 +0000)
2004-10-16  Matthias Clasen  <mclasen@redhat.com>

* gtk/gtkaboutdialog.c (gtk_about_dialog_destroy): Don't leak
the secondary dialogs.  (#155084, Paolo Borelli)

ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtkaboutdialog.c

index b04a2820d2a86b69516d25acc9058ef34876f106..338f7391f00637f4d3cf070170243028a20ca400 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2004-10-16  Matthias Clasen  <mclasen@redhat.com>
 
+       * gtk/gtkaboutdialog.c (gtk_about_dialog_destroy): Don't leak
+       the secondary dialogs.  (#155084, Paolo Borelli)
+
        * gtk/gtkhsv.c (gtk_hsv_expose): Fix redraw issues with the
        focus on the ring. 
 
index b04a2820d2a86b69516d25acc9058ef34876f106..338f7391f00637f4d3cf070170243028a20ca400 100644 (file)
@@ -1,5 +1,8 @@
 2004-10-16  Matthias Clasen  <mclasen@redhat.com>
 
+       * gtk/gtkaboutdialog.c (gtk_about_dialog_destroy): Don't leak
+       the secondary dialogs.  (#155084, Paolo Borelli)
+
        * gtk/gtkhsv.c (gtk_hsv_expose): Fix redraw issues with the
        focus on the ring. 
 
index b04a2820d2a86b69516d25acc9058ef34876f106..338f7391f00637f4d3cf070170243028a20ca400 100644 (file)
@@ -1,5 +1,8 @@
 2004-10-16  Matthias Clasen  <mclasen@redhat.com>
 
+       * gtk/gtkaboutdialog.c (gtk_about_dialog_destroy): Don't leak
+       the secondary dialogs.  (#155084, Paolo Borelli)
+
        * gtk/gtkhsv.c (gtk_hsv_expose): Fix redraw issues with the
        focus on the ring. 
 
index b04a2820d2a86b69516d25acc9058ef34876f106..338f7391f00637f4d3cf070170243028a20ca400 100644 (file)
@@ -1,5 +1,8 @@
 2004-10-16  Matthias Clasen  <mclasen@redhat.com>
 
+       * gtk/gtkaboutdialog.c (gtk_about_dialog_destroy): Don't leak
+       the secondary dialogs.  (#155084, Paolo Borelli)
+
        * gtk/gtkhsv.c (gtk_hsv_expose): Fix redraw issues with the
        focus on the ring. 
 
index 3d5fb0356ae0bf5df61181ecf8da915cb4813ea3..12037e0937b3b1698fb90a9b0f5962bbd7712e34 100644 (file)
@@ -114,6 +114,7 @@ static void                 gtk_about_dialog_set_property   (GObject
                                                             guint               prop_id,
                                                             const GValue       *value,
                                                             GParamSpec         *pspec);
+static void                 gtk_about_dialog_destroy        (GtkObject          *object);
 static void                 update_name_version             (GtkAboutDialog     *about);
 static GtkIconSet *         icon_set_new_from_pixbufs       (GList              *pixbufs);
 static void                 activate_url                    (GtkWidget          *widget,
@@ -179,6 +180,7 @@ gtk_about_dialog_class_init (GtkAboutDialogClass *klass)
   object_class->get_property = gtk_about_dialog_get_property;
 
   object_class->finalize = gtk_about_dialog_finalize;
+  ((GtkObjectClass *)klass)->destroy = gtk_about_dialog_destroy;
 
   g_object_class_install_property (object_class,
                                   PROP_NAME,
@@ -402,6 +404,26 @@ gtk_about_dialog_finalize (GObject *object)
   G_OBJECT_CLASS (gtk_about_dialog_parent_class)->finalize (object);
 }
 
+static void
+gtk_about_dialog_destroy (GtkObject *object)
+{
+  GtkAboutDialog *about = GTK_ABOUT_DIALOG (object);
+  GtkAboutDialogPrivate *priv = (GtkAboutDialogPrivate *)about->private_data;
+
+  if (priv->credits_dialog)
+    {
+      gtk_widget_destroy (priv->credits_dialog);
+      priv->credits_dialog = NULL;
+    }
+  if (priv->license_dialog)
+    {
+      gtk_widget_destroy (priv->license_dialog);
+      priv->license_dialog = NULL;
+    }
+
+  GTK_OBJECT_CLASS (gtk_about_dialog_parent_class)->destroy (object);
+}
+
 static void
 gtk_about_dialog_set_property (GObject      *object, 
                               guint         prop_id,